package Module01;

import java.util.Random;
import java.util.Scanner;

/*
 * 1. 编程题 实现双色球抽奖游戏中奖号码的生成，中奖号码由 6 个红球号码和 1 个蓝球号码组成。
 *    其中红球号码要求随机生成 6 个 1~33 之间不重复的随机号码。 其中蓝球号码要求随机生成 1 个 1~16 之间的随机号码。
 * */
public class HomeWorkTest01 {

	public static void main(String[] args) {
		//1.用于生成随机数
		Random random = new Random();
		//2.红球：声明一个长度为7元素，类型为int类型的一维数组,并使用最后一位做为标记位
		int[] red = new int[7];
		int[] myred =new int[6];
		int blue;
		int myblue;
		//3.初始化变量
		for (int i = 0; i <red.length-1; i++) {
			// 用于判断是否打印该数字的标记，该数字只有在不为重复数字的情况下才为0
			red[6]=0;
			//4.随机生成 6 个 1~33 之间不重复的随机号码
			red[i]=random.nextInt(33)+1;
			for (int j = 0; j <i; j++) {
				//去除重复数
				if (red[i]==red[j]) {
					i--;//如果有重复数，则减一再随机生成一个
					red[6]=-1;//表示数字重复了
					
				}
				
			}
			if (0==red[6]) {
				System.out.print(red[i]+" ");//不显示系统生成的红色数字
			}
			
			//System.out.print(red[i]+" ");
		}
        //5.蓝球：随机生成一个蓝球
		blue=random.nextInt(16)+1;
		System.out.println(blue+" ");//不显示系统生成的蓝色数字
		//6.提示用户输入6个1~33不重复的数字，1个1~16的数字
		System.out.println("请输入6个1~33不重复的数字，1个1~16的数字：");
		Scanner sc = new Scanner(System.in);
		//7.初始化变量，输入6个红球
		for (int i = 0; i <myred.length; i++) {
			myred[i]=sc.nextInt();
		}
		//输入1个蓝球
		 myblue=sc.nextInt();
		//8.判断随机生成的6位数和输入的6位数相等的个数
		 int rednum=0;//记录红球的个数
		for (int i = 0; i <red.length; i++) {
			for (int j = 0; j <myred.length; j++) {
				if (red[i]==myred[j]) {
					rednum++;
				}
			}
		}
		int bluenum=0;//记录蓝球的个数
		if (blue==myblue) {
			bluenum++;
		}
		System.out.println("红球相等的个数有"+rednum+"个，蓝球相等的个数有"+bluenum+"个");
		//9.判断中的是几等奖6+1，则为一等奖，6+0则为二等奖，5+1则为三等奖，否则不中奖
		if (rednum==6 && bluenum==1) {
			System.out.println("恭喜您！中了一等奖^v^");
		}else if (rednum==6 && bluenum==0) {
			System.out.println("恭喜您！中了二等奖^v^");
		}else if (rednum==5 && bluenum==1) {
			System.out.println("恭喜您！中了三等奖等奖^v^");
		}else {
			System.out.println("很遗憾！您没有中奖，继续努力哈");
		}	
	}

}
